import abc

class ISolutionRepSetup(object):
    __metaclass__ = abc.ABCMeta
    
    @abc.abstractmethod
    def get_range_min(self):
        raise NotImplementedError()

    @abc.abstractmethod
    def set_range_min(self, range_min):
        raise NotImplementedError()

    @abc.abstractmethod
    def get_range_max(self):
        raise NotImplementedError()

    @abc.abstractmethod
    def set_range_max(self, range_max):
        raise NotImplementedError()

    @abc.abstractmethod
    def get_solution_domain(self):
        raise NotImplementedError()

    @abc.abstractmethod
    def set_solution_domain(self, solution_domain):
        raise NotImplementedError()

    @abc.abstractmethod
    def get_encode_function(self):
        raise NotImplementedError()

    @abc.abstractmethod
    def set_encode_function(self, encode_function):
        raise NotImplementedError()